ellipsis() {
  overflow: hidden;
  -ms-text-overflow: ellipsis;
  text-overflow: ellipsis;
  white-space: nowrap;
}

bounds($distance) {
  top: $distance;
  bottom: $distance;
  right: $distance;
  left: $distance;
}

overlay() {
  position: absolute;
  bounds(0);
}

flex-box() {
  display: flex;

  & > * {
    flex: auto 0 0;
  }
}

h-box() {
  flex-box();
  flex-direction: row;
}

v-box() {
  flex-box();
  flex-direction: column;
}

flex-control() {
  width: 0 !important;
}

box-center() {
  align-items: center;
  justify-content: center;
}

toolbar-btn($bg) {
  background: fade($bg, 80%);
  color: black;
  transition: background 0.2s;

  &:hover {
    color: black;
    background: $bg;
  }
}

space-between-x($margin) {
  margin-right: $margin;

  &:last-child {
    margin-right: 0;
  }
}

space-between-y($margin) {
  margin-bottom: $margin;

  &:last-child {
    margin-bottom: 0;
  }
}

unselectable() {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
